
## 嵌入式微处理体系结构

### 冯诺依曼结构
传统计算机采用冯·诺依曼（Von Neumann）结构，也称为 <RedSpan>普林斯顿结构，是一种将程序指令存储器和数据存储器合并在一起的存储器结构。</RedSpan>


<img src="https://wkq-img.oss-cn-chengdu.aliyuncs.com/20241227225405.png"/>

* 冯诺依曼结构的计算机程序和数据共用一个存储空间，程序指令存储地址和数据存储地址指向<RedSpan>同一个存储器的不同物理位置。</RedSpan>
* 采用<RedSpan>单一的地址及数据总线</RedSpan>，程序指令和数据的宽度相同。串行取指令或者数据。
* 处理器执行指令时，<RedSpan>先从存储器中取出指令解码，再取操作数执行运算</RedSpan>，即使单条指令也要耗费几个甚至几十个周期，在高速运转时，在运输通道上会出现瓶颈效应。

### 哈佛结构

哈佛结构是一种<RedSpan>并行体系结构</RedSpan>，它的主要特点是将 <RedSpan>程序和数据存储在不同的存储空间中</RedSpan>，即程序存储器和数据存储器是 <RedSpan>两个相互独立的存储器，每个存储器独立编址、独立访问。</RedSpan>


<img src="https://wkq-img.oss-cn-chengdu.aliyuncs.com/20241227234514.png"/>

* 与两个存储器相对应的是系统中的 <RedSpan>两套独立的地址总线和数据总线。</RedSpan>
* 这种分离的程序总线和数据总线可允许在<RedSpan>一个机器周期内同时获取指令字（来自程序存储器）和操作数（来自数据存储器）</RedSpan>，从而提高了执行速度，使数据的吞吐量提高了 1 倍。


## 微处理器分类
### 根据字长宽度划分
根据嵌入式微处理器的字长宽度，可分为 4 位、8 位、 16 位 、32 位和 64 位。一般把 16 位及以下的称为嵌入式微控制器（Embedded Micro Controller），32 位以上的称为嵌入式微处理器。

### 根据系统集成度划分

可分为两类：一种是微处理器内部仅包含单纯的中央处理单元，称为一般用途微处理器；另一种是将 CPU 、ROM、RAM 及 I/O 等部件集成到同一个芯片上，称为单芯片微控制器（Single Chip Microcontroller）。

### 根据用途分类
一般分为嵌入式微控制器 MCU、嵌入式微处理器 MPU，嵌入式数字信号处理器 DSP、嵌入式片上系统 SOC 等。

* 嵌入式微控制器 MCU 的 <RedSpan>典型代表是单片机</RedSpan>，其片上外设资源比较丰富，适合于控制。MCU 芯片内部集成 ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。和嵌入式微处理器相比，微控制器的最大特点是单片化，体积大大减小，从而使功耗和成本下降、可靠性提高，其片上外设资源一般较丰富，适合于控制，是嵌入式系统工业的主流。
* 嵌入式微处理器 MPU <RedSpan>由通用计算机中的 CPU 演变而来</RedSpan>。它的特征是具有 <RedSpan> 32 位以上的处理器</RedSpan>，具有较高的性能，当然其价格也相应较高。但与计算机处理器不同的是，在实际的嵌入式应用中，<RedSpan>只保留和嵌入式应用紧密相关的功能硬件，去除其它的冗余功能部分，这样就以最低的功耗和资源实现嵌入式应用的特殊要求</RedSpan>。与工业控制计算机相比，嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。目前常见的有 ARM、MIPS、POWER PC 等。
* 嵌入式数字信号处理器 DSP 是 <RedSpan>专门用于信号处理方面的处理器，</RedSpan>其在 <RedSpan>系统结构和指令算法方法进行了特殊处理，具有很高的编译效率和指令的执行速度。</RedSpan>采用 <RedSpan>哈佛结构，流水线处理，其处理速度比最快的 CPU 还快 10-50 倍。</RedSpan>在数字滤波、FFT、谱分析等各种仪器上 DSP 获得了大规模的应用。
* 嵌入式片上系统 SOC，是 <RedSpan>追求产品系统最大包容的集成器件</RedSpan>。SOC 最大的特点是成功实现了软硬件无缝结合，直接在处理器片内嵌入操作系统的代码模块，是一个有专用目标的集成电路，其中包含完整系统并有嵌入软件的全部内容。


## 多核处理器
<RedSpan>多核指多个微处理器内核</RedSpan>，是将两个或者更多的微处理器封装在一起，<RedSpan>集成在一个电路中</RedSpan>。多核处理器是 <RedSpan>单枚芯片</RedSpan>，能够直接插入单一的处理器插槽中。多核与多 CPU 相比，<RedSpan>很好的降低了计算机系统的功耗和体积</RedSpan>。在多核
技术中，<RedSpan>由操作系统软件进行调度，多进程、多线程、多线程并发都可以</RedSpan>。

### 多个内核工作协调的的实现
* 对称多处理技术 SMP：将 2 颗完全一样的处理器封装在一个芯片内，达到双倍或接近双倍的处理性能，节省运算资源。
* 非对称处理技术 AMP：2 个处理器内核彼此不同，各自处理和执行特定的功能，在软件的协调下分担不同的计算任务。

### 多核 CPU 的调度
多核 CPU 环境下进程的调度算法一般有<RedSpan>全局队列调度和局部队列调度</RedSpan>两种。

* 全局队列调度是指操作系统维护一个 <RedSpan>全局的任务等待队列</RedSpan>，当系统中有一个 CPU 空闲时，操作系统就从全局任务等待队列中选取就绪任务开始执行，CPU 核心利用率高。
* 局部队列调度是 <RedSpan>操作系统为每个 CPU 内核维护一个局部的任务等待队列</RedSpan>，当系统中有一个 CPU 内核空闲时，就从该核心的任务等待队列中选取适当的任务执行，优点是无需在多个 CPU 之间切换。


:::tip
嵌入式里面的软硬件是紧密联系的。
:::








